/**
 * 
 */
package br.com.beiramar.entity.rateio;

import java.io.Serializable;
import java.math.BigDecimal;

import org.jboss.seam.annotations.Name;

/**
 * @author adriano.portes
 *
 */
@Name("venda")
public class Venda implements Serializable{

	private BigDecimal sinalVenda;
	private BigDecimal valorVenda;
	
	private BigDecimal valorComissao;
	//private BigDecimal valorPremio;
	private BigDecimal valorContrato;
	private BigDecimal comissaoCorretor = new BigDecimal("0");
	private BigDecimal comissaoPatrocinador = new BigDecimal("0");
	private BigDecimal comissaoCoordenador = new BigDecimal("0");
	private BigDecimal comissaoDiretorEquipe = new BigDecimal("0");
	private BigDecimal comissaoDiretorRelNovosNegocios = new BigDecimal("0");
	private BigDecimal comissaoCoordenadorProdutos = new BigDecimal("0");
	private BigDecimal comissaoBeiramar = new BigDecimal("0");
	private BigDecimal premioCorretor = new BigDecimal("0");
	private BigDecimal premioCoordenador = new BigDecimal("0");
	private BigDecimal premioDiretorEquipe = new BigDecimal("0");
	private BigDecimal premioDiretorRelNegocio = new BigDecimal("0");
	private BigDecimal premioBeiramar = new BigDecimal("0");
	private BigDecimal valorTotalComissao = new BigDecimal("0");
	private BigDecimal valorTotalPremio = new BigDecimal("0");
	private BigDecimal valorConstrutora = new BigDecimal("0");
	private BigDecimal valorConstrutora2 = new BigDecimal("0");
	private BigDecimal totalCorretor;
	private BigDecimal totalPatrocinador;
	private BigDecimal totalCoordenador;
	private BigDecimal totalDiretorEquipe;
	private BigDecimal totalDiretorRelNegocio;
	private BigDecimal totalCoordenadorProduto;
	private BigDecimal totalBeiramar;
	private BigDecimal totalCheques;
	private String coordenadorProduto;
	private String descricaoSATI;
	private BigDecimal valorPremioLiquido = new BigDecimal("0");
	private String tirarChequeCorretor;
	private String tirarChequePatrocinador;
	private String tirarChequeEmpreendedor;
	private String tirarChequeDiretorEquipe;
	private String tirarChequeDiretorNovosNeg;
	private String tirarChequeCoordenadorProduto;
	private String tirarChequeBeiramar;
	private String tirarChequeSatiCorretor;
	private String tirarChequeSatiBeiramar;
	private String tirarChequeContrutora2;
	private BigDecimal satiCorretor = new BigDecimal("0");
	private BigDecimal satiBeiramar = new BigDecimal("0");
	private BigDecimal valorNotaFiscalContrutora = new BigDecimal("0");
	private BigDecimal valorLiquidoContrutora = new BigDecimal("0");
	private BigDecimal totalCoordenadorProduto2 = new BigDecimal("0");
	
	
	
	
	
	public BigDecimal getTotalCoordenadorProduto2() {
		return totalCoordenadorProduto2;
	}
	public void setTotalCoordenadorProduto2(BigDecimal totalCoordenadorProduto2) {
		this.totalCoordenadorProduto2 = totalCoordenadorProduto2;
	}
	public String getTirarChequeContrutora2() {
		return tirarChequeContrutora2;
	}
	public void setTirarChequeContrutora2(String tirarChequeContrutora2) {
		this.tirarChequeContrutora2 = tirarChequeContrutora2;
	}
	public BigDecimal getValorConstrutora2() {
		return valorConstrutora2;
	}
	public void setValorConstrutora2(BigDecimal valorConstrutora2) {
		this.valorConstrutora2 = valorConstrutora2;
	}
	public String getTirarChequeSatiBeiramar() {
		return tirarChequeSatiBeiramar;
	}
	public void setTirarChequeSatiBeiramar(String tirarChequeSatiBeiramar) {
		this.tirarChequeSatiBeiramar = tirarChequeSatiBeiramar;
	}
	
	public BigDecimal getSatiBeiramar() {
		return satiBeiramar;
	}
	public void setSatiBeiramar(BigDecimal satiBeiramar) {
		this.satiBeiramar = satiBeiramar;
	}
	
	public BigDecimal getValorLiquidoContrutora() {
		return valorLiquidoContrutora;
	}
	public void setValorLiquidoContrutora(BigDecimal valorLiquidoContrutora) {
		this.valorLiquidoContrutora = valorLiquidoContrutora;
	}
	public BigDecimal getValorNotaFiscalContrutora() {
		return valorNotaFiscalContrutora;
	}
	public void setValorNotaFiscalContrutora(BigDecimal valorNotaFiscalContrutora) {
		this.valorNotaFiscalContrutora = valorNotaFiscalContrutora;
	}
	public String getTirarChequeSatiCorretor() {
		return tirarChequeSatiCorretor;
	}
	public void setTirarChequeSatiCorretor(String tirarChequeSatiCorretor) {
		this.tirarChequeSatiCorretor = tirarChequeSatiCorretor;
	}
	
	public BigDecimal getSatiCorretor() {
		return satiCorretor;
	}
	public void setSatiCorretor(BigDecimal satiCorretor) {
		this.satiCorretor = satiCorretor;
	}
	public String getTirarChequeCorretor() {
		return tirarChequeCorretor;
	}
	public void setTirarChequeCorretor(String tirarChequeCorretor) {
		this.tirarChequeCorretor = tirarChequeCorretor;
	}
	public String getTirarChequePatrocinador() {
		return tirarChequePatrocinador;
	}
	public void setTirarChequePatrocinador(String tirarChequePatrocinador) {
		this.tirarChequePatrocinador = tirarChequePatrocinador;
	}
	public String getTirarChequeEmpreendedor() {
		return tirarChequeEmpreendedor;
	}
	public void setTirarChequeEmpreendedor(String tirarChequeEmpreendedor) {
		this.tirarChequeEmpreendedor = tirarChequeEmpreendedor;
	}
	public String getTirarChequeDiretorEquipe() {
		return tirarChequeDiretorEquipe;
	}
	public void setTirarChequeDiretorEquipe(String tirarChequeDiretorEquipe) {
		this.tirarChequeDiretorEquipe = tirarChequeDiretorEquipe;
	}
	public String getTirarChequeDiretorNovosNeg() {
		return tirarChequeDiretorNovosNeg;
	}
	public void setTirarChequeDiretorNovosNeg(String tirarChequeDiretorNovosNeg) {
		this.tirarChequeDiretorNovosNeg = tirarChequeDiretorNovosNeg;
	}
	public String getTirarChequeCoordenadorProduto() {
		return tirarChequeCoordenadorProduto;
	}
	public void setTirarChequeCoordenadorProduto(
			String tirarChequeCoordenadorProduto) {
		this.tirarChequeCoordenadorProduto = tirarChequeCoordenadorProduto;
	}
	public String getTirarChequeBeiramar() {
		return tirarChequeBeiramar;
	}
	public void setTirarChequeBeiramar(String tirarChequeBeiramar) {
		this.tirarChequeBeiramar = tirarChequeBeiramar;
	}
	
	public BigDecimal getValorPremioLiquido() {
		return valorPremioLiquido;
	}
	public void setValorPremioLiquido(BigDecimal valorPremioLiquido) {
		this.valorPremioLiquido = valorPremioLiquido;
	}
	
	public BigDecimal getSinalVenda() {
		return sinalVenda;
	}
	public void setSinalVenda(BigDecimal sinalVenda) {
		this.sinalVenda = sinalVenda;
	}
	
	public BigDecimal getValorVenda() {
		return valorVenda;
	}
	public void setValorVenda(BigDecimal valorVenda) {
		this.valorVenda = valorVenda;
	}
	public BigDecimal getValorComissao() {
		return valorComissao;
	}
	public void setValorComissao(BigDecimal valorComissao) {
		this.valorComissao = valorComissao;
	}
//	public BigDecimal getValorPremio() {
//		return valorPremio;
//	}
//	public void setValorPremio(BigDecimal valorPremio) {
//		this.valorPremio = valorPremio;
//	}
	public BigDecimal getComissaoCorretor() {
		return comissaoCorretor;
	}
	public void setComissaoCorretor(BigDecimal comissaoCorretor) {
		this.comissaoCorretor = comissaoCorretor;
	}
	public BigDecimal getComissaoPatrocinador() {
		return comissaoPatrocinador;
	}
	public void setComissaoPatrocinador(BigDecimal comissaoPatrocinador) {
		this.comissaoPatrocinador = comissaoPatrocinador;
	}
	public BigDecimal getComissaoCoordenador() {
		return comissaoCoordenador;
	}
	public void setComissaoCoordenador(BigDecimal comissaoCoordenador) {
		this.comissaoCoordenador = comissaoCoordenador;
	}
	public BigDecimal getComissaoDiretorEquipe() {
		return comissaoDiretorEquipe;
	}
	public void setComissaoDiretorEquipe(BigDecimal comissaoDiretorEquipe) {
		this.comissaoDiretorEquipe = comissaoDiretorEquipe;
	}
	public BigDecimal getComissaoDiretorRelNovosNegocios() {
		return comissaoDiretorRelNovosNegocios;
	}
	public void setComissaoDiretorRelNovosNegocios(
			BigDecimal comissaoDiretorRelNovosNegocios) {
		this.comissaoDiretorRelNovosNegocios = comissaoDiretorRelNovosNegocios;
	}
	public BigDecimal getComissaoCoordenadorProdutos() {
		return comissaoCoordenadorProdutos;
	}
	public void setComissaoCoordenadorProdutos(
			BigDecimal comissaoCoordenadorProdutos) {
		this.comissaoCoordenadorProdutos = comissaoCoordenadorProdutos;
	}
	public BigDecimal getComissaoBeiramar() {
		return comissaoBeiramar;
	}
	public void setComissaoBeiramar(BigDecimal comissaoBeiramar) {
		this.comissaoBeiramar = comissaoBeiramar;
	}
	public BigDecimal getPremioCorretor() {
		return premioCorretor;
	}
	public void setPremioCorretor(BigDecimal premioCorretor) {
		this.premioCorretor = premioCorretor;
	}
	public BigDecimal getPremioCoordenador() {
		return premioCoordenador;
	}
	public void setPremioCoordenador(BigDecimal premioCoordenador) {
		this.premioCoordenador = premioCoordenador;
	}
	public BigDecimal getPremioDiretorEquipe() {
		return premioDiretorEquipe;
	}
	public void setPremioDiretorEquipe(BigDecimal premioDiretorEquipe) {
		this.premioDiretorEquipe = premioDiretorEquipe;
	}
	public BigDecimal getPremioBeiramar() {
		return premioBeiramar;
	}
	public void setPremioBeiramar(BigDecimal premioBeiramar) {
		this.premioBeiramar = premioBeiramar;
	}
	public BigDecimal getValorTotalComissao() {
		return valorTotalComissao;
	}
	public void setValorTotalComissao(BigDecimal valorTotalComissao) {
		this.valorTotalComissao = valorTotalComissao;
	}
	public BigDecimal getValorConstrutora() {
		return valorConstrutora;
	}
	public void setValorConstrutora(BigDecimal valorConstrutora) {
		this.valorConstrutora = valorConstrutora;
	}
	public BigDecimal getValorContrato() {
		return valorContrato;
	}
	public void setValorContrato(BigDecimal valorContrato) {
		this.valorContrato = valorContrato;
	}
	public BigDecimal getPremioDiretorRelNegocio() {
		return premioDiretorRelNegocio;
	}
	public void setPremioDiretorRelNegocio(BigDecimal premioDiretorRelNegocio) {
		this.premioDiretorRelNegocio = premioDiretorRelNegocio;
	}
	public BigDecimal getTotalCorretor() {
		return totalCorretor;
	}
	public void setTotalCorretor(BigDecimal totalCorretor) {
		this.totalCorretor = totalCorretor;
	}
	public BigDecimal getTotalPatrocinador() {
		return totalPatrocinador;
	}
	public void setTotalPatrocinador(BigDecimal totalPatrocinador) {
		this.totalPatrocinador = totalPatrocinador;
	}
	public BigDecimal getTotalCoordenador() {
		return totalCoordenador;
	}
	public void setTotalCoordenador(BigDecimal totalCoordenador) {
		this.totalCoordenador = totalCoordenador;
	}
	public BigDecimal getTotalDiretorEquipe() {
		return totalDiretorEquipe;
	}
	public void setTotalDiretorEquipe(BigDecimal totalDiretorEquipe) {
		this.totalDiretorEquipe = totalDiretorEquipe;
	}
	public BigDecimal getTotalDiretorRelNegocio() {
		return totalDiretorRelNegocio;
	}
	public void setTotalDiretorRelNegocio(BigDecimal totalDiretorRelNegocio) {
		this.totalDiretorRelNegocio = totalDiretorRelNegocio;
	}
	public BigDecimal getTotalCoordenadorProduto() {
		return totalCoordenadorProduto;
	}
	public void setTotalCoordenadorProduto(BigDecimal totalCoordenadorProduto) {
		this.totalCoordenadorProduto = totalCoordenadorProduto;
	}
	public BigDecimal getTotalBeiramar() {
		return totalBeiramar;
	}
	public void setTotalBeiramar(BigDecimal totalBeiramar) {
		this.totalBeiramar = totalBeiramar;
	}
	public String getCoordenadorProduto() {
		return coordenadorProduto;
	}
	public void setCoordenadorProduto(String coordenadorProduto) {
		this.coordenadorProduto = coordenadorProduto;
	}
	public String getDescricaoSATI() {
		return descricaoSATI;
	}
	public void setDescricaoSATI(String descricaoSATI) {
		this.descricaoSATI = descricaoSATI;
	}
	public BigDecimal getValorTotalPremio() {
		return valorTotalPremio;
	}
	public void setValorTotalPremio(BigDecimal valorTotalPremio) {
		this.valorTotalPremio = valorTotalPremio;
	}
	public BigDecimal getTotalCheques() {
		return totalCheques;
	}
	public void setTotalCheques(BigDecimal totalCheques) {
		this.totalCheques = totalCheques;
	}
	
	public static String getFormatarValor(BigDecimal valorInformado){
		String valor = valorInformado.setScale(2, BigDecimal.ROUND_FLOOR).toString();
		String mascara = "###.###.###.###,##";
		String dado = "";
		
		if(valor.length() == 1){
	        valor = "00" + valor;
	    }
	    if(valor.length() == 2){
    		valor = "0" + valor;
	    }
    	// remove caracteres nao numericos
		for ( int i = 0; i < valor.length(); i++ )  {
            char c = valor.charAt(i);
            if ( Character.isDigit( c ) ) { dado += c; }
        }

        int indMascara = mascara.length();
        int indCampo = dado.length();

        for ( ; indCampo > 0 && indMascara > 0; ) {
            if ( mascara.charAt( --indMascara ) == '#' ) { indCampo--; }
        }

        String saida = "";
        for ( ; indMascara < mascara.length(); indMascara++ ) {    
            saida += ( ( mascara.charAt( indMascara ) == '#' ) ? dado.charAt( indCampo++ ) : mascara.charAt( indMascara ) );
        }    
        if(valorInformado.compareTo(new BigDecimal(0)) < 0){
        	saida = "- " + saida;
        }
        return saida;
	}
}